<!DOCTYPE html>
<!--
     SPDX-License-Identifier: CC-BY-SA-4.0
     SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
-->
<!-- Page last generated 2025-02-20 03:16:15 +0000 -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>CapDL 0.1.0 | seL4 docs</title>

    <!-- Our stylesheet and theme stylesheet.  Contains bootstrap. -->
    <link rel="stylesheet" href="/assets/css/style.css" type="text/css">
    <!-- Font awesome -->
    <link href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <!-- Pygments syntax highlighting  -->
    <link rel="stylesheet" href="/assets/css/highlighting/trac.css" type="text/css">
    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><script defer data-domain="docs.sel4.systems"
	    src="https://analytics.sel4.systems/js/script.js"></script></head>

  <body class="container-fluid">

    



<header>
  <ul class="row menu">
    <li class="col-xs-12 col-md-2" >
            <a href="https://sel4.systems" class="skip-icon">
              <img class="img-responsive" src="/assets/logo-text-white.svg" alt="seL4 logo" />
            </a>
    </li>
    <li class="col-xs-12 col-md-10 menu">
      <nav aria-label="Banner links">
        <h2><a href="/Resources" />Resources</h2>
        <h2><a href="/processes" />Contributing</a></h2>
        <h2><a href="/projects" />Projects</h2>
        <h2><a href="/Tutorials" />Tutorials</h2>
        <iframe title="DuckDuckGo search bar" src="https://duckduckgo.com/search.html?site=docs.sel4.systems&prefill=Search%20sel4.systems" style="overflow:hidden;margin-bottom:10px; padding:0;height:40px;float:right;border-width: 0px"></iframe>
      </nav>
    </li>
  </ul>
  <div class="clear"></div>
  
<div class="breadcrumbs bootstrap hidden-sm-down">
  <nav class="sel-breadcrumb" aria-label="Breadcrumb" >
    <ol class=" list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
      
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/">
              <span property="name"><b>seL4 Docs</b></span>
            </a>
            <meta property="position" content="1" />
        </li>
      
        

        
          <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <span property="name">CapDL 0.1.0</span>
            <meta property="position" content="2" /></li>
          
    </ol>
  </nav>
  <nav class="sel-version" aria-label="Current Versions">
    <ol class="list-unstyled">
      <li class="list-unstyled text-right" style="margin-left:auto; padding:0rem 0rem;">
        Current versions:</li>
      <li class="list-unstyled text-right">
      <a href="/releases/sel4/13.0.0"><b>seL4-13.0.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/microkit/1.4.1"><b>microkit-1.4.1</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/camkes/camkes-3.11.0"><b>camkes-3.11.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/capdl/0.3.0"><b>capDL-0.3.0</b></a></li>
      </ol>
  </nav>
  <div class='clear'></div>
</div>


</header>

    <main>
      <div class="row">
  <div class="hidden-xs col-sm-4 col-md-3 col-lg-2">
    


<div class="sidebar">
















</div>

  </div>
  <div class="content col-sm-8 col-md-6 col-lg-7 main">
    <h1 id="capdl-version-010-release">CapDL Version 0.1.0 Release</h1>

<p>Announcing the release of <code class="language-plaintext highlighter-rouge">0.1.0</code> with the following changes:</p>

<p>0.1.0 2019-11-19
Using seL4 version 11.0.0</p>

<h2 id="changes">Changes</h2>

<ul>
  <li>Add GrantReply access right for endpoint capabilities.
    <ul>
      <li>This is a new right available on seL4 Endpoint object capabilities.</li>
      <li>A capDL spec can now describe an endpoint capability with the ‘P’ GrantReply access right.</li>
      <li>The capdl-loader-app will create capabilities with these rights based on the translated spec.</li>
      <li>python-capdl-tool supports creating endpoint caps with GrantReply rights.</li>
    </ul>
  </li>
  <li>Add object_sizes target.
    <ul>
      <li>This target generates a YAML file describing the object size of each seL4 object.</li>
      <li>It is based on the current build configuration of the kernel.</li>
      <li>This file can be used as an input to tools performing allocation of seL4 objects from untypeds.</li>
    </ul>
  </li>
  <li>Add untyped_gen.py in cdl_utils.
    <ul>
      <li>This is only supported on Arm architectures currently.</li>
      <li>This tool generates a predicted list of untypeds that the kernel will provide to userlevel</li>
      <li>This list is calculated from an input of memory regions for the platform and sizes of the kernel image and device
tree binary.</li>
      <li>The list is intended to be used as an input for an allocator to perform allocation of initial system resources.</li>
    </ul>
  </li>
  <li>capDL untyped allocation
    <ul>
      <li>Add support for generating a capDL spec that specifies which untyped object each object and capability is allocated
from. This is intended to be used when implementing trustworthy system initialisers as it removes online allocation
decisions and results in a simpler init program.</li>
      <li>This is only supported on Arm.</li>
    </ul>
  </li>
  <li>Static allocator
    <ul>
      <li>Updates capdl-loader-app to load static specs with all objects allocated from a predicted list of untypeds.</li>
      <li>This simpler version of the loader app will act as a reference implementation for a more trustworthy implementation
that is in development.</li>
      <li>This is only supported on Arm.</li>
    </ul>
  </li>
  <li>RISC-V support added
    <ul>
      <li>Support for generating, translating and loading RISC-V applications.</li>
    </ul>
  </li>
  <li>seL4runtime updates
    <ul>
      <li>Port capdl-loader-app to sel4runtime</li>
    </ul>
  </li>
  <li>cdl-refine
    <ul>
      <li>This support is closely tied to CAmkES and L4V.</li>
      <li>The capDL-tool can translate specs into Isabelle .thy file formats. These are then used to calculate which access
rights different parts of the system have to each other.</li>
      <li>It is used to check that the capDL system spec implements certain access policies as specified by an external
source.</li>
      <li>See cdl-refine in the context of CAmkES for more information.</li>
    </ul>
  </li>
  <li>40-bit PA for aarch64 hyp
    <ul>
      <li>When seL4 is running in EL2 on aarch64, VSpace objects are an abstraction of stage 2 translations.
These translations have different input address restrictions based on the physical address range the CPU supports.
40-bit PA support supports platforms that have 40-bit stage 2 input address ranges when in hyp-mode.</li>
    </ul>
  </li>
  <li>Remove –code-max-irqs from capDL tool
    <ul>
      <li>The capDL-tool that translates capDL formats no longer requires –code-max-irqs as an option for generating C specs.
It now infers the total IRQs from the input spec and specifies this value in the generated C spec.</li>
    </ul>
  </li>
  <li>Add FrameFill mechanism for files and use this to implement ELF loading
    <ul>
      <li>The FrameFill mechanism allows Frame objects to be annotated with an attribute describing a way to initialise
their contents by a loader.</li>
      <li>The new file FrameFill mechanism allows frames to be initialised from the contents of a file provided to the loader
in a cpio archive.</li>
      <li>This mechanism is used to remove ELF loader support from the initialiser. Instead a spec describes how frames are
initialised via copies from offsets into a provided ELF file.</li>
      <li>This allows a loader to load program data from different file formats also.</li>
    </ul>
  </li>
</ul>

<h1 id="full-changelog">Full changelog</h1>
<p>Use <code class="language-plaintext highlighter-rouge">git log 0.1.0</code> in
<a href="https://github.com/seL4/capdl">https://github.com/seL4/capdl</a></p>

<h1 id="more-details">More details</h1>
<p>Ask on the mailing list!</p>



  </div>







  
  
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
  
    <ul class="section-nav">
    	<h2> CapDL </h2> 
        <li>
          
          <a style="" class="" href="/projects/capdl/">
            Documentation homepage
          </a>
        </li>

















    
        <h3>Repositories</h3>
    
        <li>
          <a class="" href="https://github.com/seL4/capdl">
            capdl
          </a>
        </li>









  
      
          <h3>Releases</h3>
      
          <li>
            <a style="" href="/releases/capdl/0.2.0.html">
              capdl-0.2.0
            </a>
          </li>
  
      
          <li>
            <a style="" href="/releases/capdl/0.3.0.html">
              0.3.0
            </a>
          </li>
  
      
          <li>
            <a style="" href="/releases/capdl/0.2.1.html">
              0.2.1
            </a>
          </li>
  
      
          <li>
            <a style=" font-weight: bold; " href="/releases/capdl/0.1.0.html">
              CapDL 0.1.0
            </a>
          </li>
  







    </ul>

</div>


</div>

    </main>
    


<footer class="site-footer">

  <h2 class="footer-heading">seL4 docs</h2>

  <div class="footer-col-wrapper">

    <div class="col-md-2">
      



<ul class="social-media-list">
  <li><a href="https://github.com/sel4"><i class="fab fa-github"></i> <span class="username">sel4</span></a></li><li><a href="https://github.com/sel4proj"><i class="fab fa-github"></i> <span class="username">sel4proj</span></a></li>
</ul>

    </div>

    <div class="col-md-8">
      <ul class="list-unstyled">
        <li>
          This site is for displaying seL4 related documentation.  Pull requests are welcome.
        </li>
        
          <li>
            Site last updated: Fri Feb 7 10:17:38 2025 +1100 ee78c8857c
          </li>
          <li>
          </li>
        
      </ul>
    </div>
    <div class="col-md-2">
<a href="https://github.com/seL4/docs/blob/master/content_collections/_releases/capdl/0.1.0.md">View page on GitHub</a>
      <br />
      <a href="https://github.com/seL4/docs/edit/master/content_collections/_releases/capdl/0.1.0.md">Edit page on GitHub</a>
      <br />
      <a href="/sitemap">Sitemap</a>
    </div>

  </div>

</footer>

  </body>
</html>
